package com.zyj;

import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.LongField;
import org.apache.lucene.document.TextField;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.Version;

import java.io.IOException;
import java.text.ParseException;

public class Lucene4UpdateDemo {

    public static void main(String[] args) throws IOException, ParseException {

        Directory directory = LuceneUtils.getDirectory(); //获取索引目录
        IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_47, LuceneUtils.getAnalyzer());
        IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig);

        Document document = new Document();
        document.add(new TextField("id", "1", Field.Store.YES));
        document.add(new TextField("title", "更新2---中方代表将赴美谈判 特朗普却在此时发推抹黑中国", Field.Store.YES));
        document.add(new TextField("content", "更新33----环球时报驻美国特派记者 张梦旭 环球时报记者 倪浩 陈一 柳直】“新鲜事儿!特朗普建议俄罗斯的批评者把注意力转向中国”，俄罗斯卫星新闻网19日惊讶地发现美国的“通俄门”调查出现新动向，特朗普想把中国也牵扯进来，他在18日的一条推文中说：“所有如此关心俄罗斯的傻瓜都应该开始关注另一个方向，即中国。”“通俄门”调查愈演愈烈，越来越多的美国政要陷入其中，把特朗普也折腾得够戗。所以他最近两天连续发布多条推文进行反击，中国只是其中的“猛料”之一。", Field.Store.YES));
        document.add(new TextField("email", "zangsan@aa.com", Field.Store.YES));
        document.add(new LongField("date", LuceneUtils.stringToTime("2018-08-20 05:11:00"),Field.Store.YES));

        Term term = new Term("id", "1534908020220");
        indexWriter.updateDocument(term, document);


     //  indexWriter.forceMergeDeletes();
        indexWriter.commit();

        indexWriter.close();
        System.out.println("修改完成");

        Lucene2FindDemo.findAll(LuceneUtils.getDirectory());
    }
}
